1. Technical Field
The present invention relates generally to the field of computer systems and, more specifically to a data processing system, method, and computer program product for migrating data from one real page to another.
2. Description of Related Art
Personal computer systems are well known in the art. They have attained widespread use for providing computer power to many segments of today's modern society. Personal computers may be defined as desktop systems, floor standing systems, or portable microcomputers. Examples of such personal computer systems are IBM's PC series, Aptiva series, and Thinkpad series.
Many computer systems include a virtual memory address space which permits an application or process to address a space which is larger than the main memory included within the system. In virtual memory systems, it is necessary to translate virtual addresses into physical addresses in order to execute commands. One common method for performing the translations is to perform a page table look-up.
The virtual address space is typically divided into equal sized pages. A page table, also called a mapping table or translation table, is maintained which includes a physical address for the first byte of main memory for each page of the virtual address space. The page table is stored in main memory and is accessed each time a virtual address is included within a command. In this manner, each time a virtual address is encountered, the physical address must be determined.
A number of the upper bits of the virtual address are used to determine a global virtual memory segment in the system. A number of the middle bits are used to determine an associated page within that segment. The lower ordered bits are utilized as an offset into the page to locate the starting physical address for the particular virtual address. Therefore, for each virtual address, the page table must be accessed to determine the starting physical address for the associated page. The page table is hashed by segment identifier and page number within the segment in order to locate the starting physical address within the page table. Thereafter, the starting physical address must be added to the offset to determine the physical address which is associated with the virtual address of interest.
Typically, the page table is managed by a virtual memory manager (VMM). On occasion the data will be copied from one real page to a new real page. When this occurs, the page table will need to be changed so that the same virtual addresses will now point to the new real page.
Therefore, a need exists for a method, system, and computer program product for migrating real pages without halting the execution of routines that are currently accessing the real pages through virtual addresses.